﻿Namespace Load

    ''' <summary>
    ''' 列エイリアスファクトリー
    ''' </summary>
    ''' <remarks></remarks>
    Public Class ColumnAliasFactory

        ''' <summary>
        ''' テーブルエイリアスから列エイリアスを作成します
        ''' </summary>
        ''' <param name="als"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Shared Function Create(als As TableAlias) As List(Of ColumnAlias)
            If als.IsRoot Then
                Return (New RootTableColumnAliasFactory).Create(als)
            Else
                Return (New RelationTableColumnAliasFactory).Create(DirectCast(als, RelationTableAlias))
            End If
        End Function

    End Class

End Namespace